home *** CD-ROM | disk | FTP | other *** search
/ PC Media 23 / PC MEDIA CD23.iso / share / prog / dclib500 / dclib.doc < prev    next >
Encoding:
Text File  |  1994-03-26  |  30.9 KB  |  846 lines

  1.  
  2.  ***************************************************************************
  3.  Librería de funciones generales, DcLib.TPU
  4.  ***************************************************************************
  5.  Versión 5.00 de Febrero y Marzo del 1994 *
  6.  ******************************************
  7.  
  8.  ShareWare 1993,94 David Carrero Fernández-Baillo
  9.  
  10.  ---------------------------------------------------------------------------
  11.  INDICE
  12.  -------
  13.  
  14.    1.- Concepto de ShareWare
  15.  
  16.    2.- Historial de Versiones
  17.  
  18.    3.- Documentación
  19.  
  20.    4.- Registro
  21.  
  22.    5.- Requerimientos mínimos y uso de estas librerías
  23.  
  24.    6.- Datos del Autor
  25.  
  26.    7.- Otros programas o librerías del autor.
  27.  
  28.  ---------------------------------------------------------------------------
  29.   Se incluyen la librería Dclib.TPU completa con pausa de 5 segundos y
  30.   un mensaje.
  31.  ---------------------------------------------------------------------------
  32.  
  33.  ┌─────────────────────────────┐
  34.  │  1.- Concepto de ShareWare  ├─┐
  35.  └─┬───────────────────────────┘ │
  36.    └─────────────────────────────┘
  37.  
  38.      Este programa no es Dominio Público sino SHAREWARE, o sea,
  39.      PROBAR ANTES DE COMPRAR.
  40.  
  41.      Por favor, no copie DcLib.TPU
  42.  
  43.      Lo único que se consigue pirateando programas es que el autor
  44.      abandone el programa por no poder mantenerlo.
  45.  
  46.      Por favor, sean fieles al concepto ShareWare.
  47.          
  48.  
  49.  ┌──────────────────────────────┐
  50.  │  2.- Historial de Versiones  ├─┐
  51.  └─┬────────────────────────────┘ │
  52.    └──────────────────────────────┘
  53.  
  54.     Versión 1.00 del 22/08/1993
  55.         Versión Inicial.
  56.  
  57.     Versión 1.10 del 10/09/1993
  58.         Se añade Function InverCar, para invertir los caracteres de una frase
  59.  
  60.     Versión 1.20 del 17/09/1993
  61.         Se añade ver Versión del Dos y ver fecha de la BIOS
  62.  
  63.     Versión 1.50 del 17/09/1993
  64.         Se añaden otras 15 funciones más.
  65.  
  66.     Versión 2.00 del 17/09/1993
  67.         Se añade visualización de ficheros PCX, no soporta el Versión PCX 5.
  68.  
  69.     Versión 2.01 del 18/09/1993
  70.         Se añaden 3 sonidos más.
  71.  
  72.     Versión 2.02 del 18/09/1993
  73.         Se quita todos los Sonidos y se crea la Unit Sonidos.
  74.  
  75.     Versión 2.03 del 19/09/1993
  76.         Se quita fechadelaBIOS y VersiondelDOS, y se transladan a la Unit
  77.         InfoPc.
  78.  
  79.     Versión 3.00 del 01/10/1993
  80.         Se añade ShellDosMenos, Oscurecer1, Restuarar1 y 
  81.         OscureceryRestaurarPK.
  82.         Además se corrigen algunos errores.
  83.  
  84.     Versión 3.10 del 05/10/1993
  85.         Se corrige un error en la función InverCar.
  86.  
  87.     Versión 3.30 del 05/10/1993
  88.         Se añaden 3 funciones bastantes utiles para aparcar la cabezas del 
  89.         disco duro, la dos primeras son dos métodos de aparcar y la tercera
  90.         es un versión igual que la segunda pero con mensajes.
  91.  
  92.     Versión 3.40 del 11/10/1993
  93.         Se añaden dos nuevas funciones para control de borde,
  94.         una devuelve el número actual de borde y la otra cambia el color
  95.         del borde actual.
  96.  
  97.     Versión 3.50 del 18/10/1993
  98.         Se añaden las funciones VocalesyConsonantes, DibujarBarrasT,
  99.         NumEnCad, InterCadena, Left, Right.
  100.  
  101.     Versión 3.60 del 19/10/1993
  102.         Se añaden las funciones ActivarCrono, PararCrono, DiaSemanaLet,
  103.         MesLetras.
  104.  
  105.     Versión 3.70 del 20/10/1993
  106.         Se añaden las funciones FillWord, real_str, str_int, Num2Let,
  107.         Reset_PC0, BootPC, Reset_PC1.
  108.         Se elimina temporalmente la función DosShellMenos, por unos errores
  109.         detectados.
  110.  
  111.     Versión 3.80 del 25/10/1993
  112.         Se solucionan los problemas de DosShellMenos.
  113.  
  114.     Versión 3.81 del 15/11/1993
  115.         Se realizan un pequeños cambios.
  116.  
  117.     Versión 3.82 del 20/11/1993
  118.         Se añade el procedimiento PantallaRayas y PantallaRayasPK,
  119.         que es un efecto especial de pantalla que hace... pruebalo.
  120.  
  121.     Versión 4.00 del 03/01/1994
  122.         Se eliminan color y fondo.
  123.         Se añaden PulsarTecla, Retardo, Sonido, NoSonido, Nota, 
  124.         LeerTecla, EstadoBMay, EstadoBNum, EstadoBDes, EstadoInsertar.
  125.  
  126.     Versión 4.01 del 06/02/1994
  127.         Se añaden UsarLongP y UsarRealP.
  128.  
  129.     Versión 5.00 de Febrero y Marzo de 1994
  130.         Se reforma e incluyen muchas funciones más, consultar DCLIB.DOC y
  131.         ayuda DCAYUDA.TPH, más de 100 funciones disponibles.
  132.  
  133.  ┌─────────────────────┐
  134.  │  3.- Documentación  ├─┐
  135.  └─┬───────────────────┘ │
  136.    └─────────────────────┘
  137.  
  138.        Aquí describo cada una de la funciones, procedimientos y variables
  139.    que se encuentran en esta librería, detrás de algunas descripciónes
  140.    incluyo un pequeño ejemplo de como utilizar las funciones, procedimientos
  141.    o variables.
  142.  
  143.    [ Descripción de la funciones de la Versión 5.00 ]
  144.  
  145.    █▀▀▀▀▀▀▀▀▀▀▀█
  146.    █ Variables █░░
  147.    █▄▄▄▄▄▄▄▄▄▄▄█░░
  148.      ░░░░░░░░░░░░░
  149.  
  150.  
  151.      VersionDcLib
  152.     ~~~~~~~~~~~~~~
  153.        Devuelve la versión de la librería, se usa igual que DosVersion.
  154.  
  155.      CadJust
  156.     ~~~~~~~~~
  157.        Tipo que incluye JIzquierda, JCentrado, JDerecha, utilizado para
  158.        la funcion CadJ.
  159.  
  160.  
  161.     También están los tipos que son utilizados por Num2Let
  162.        Str255 = String[255];
  163.        Str10 = String[10];
  164.        Str3 = String[3];
  165.        Str1 = String[1];
  166.        Str80 = String[80];
  167.        Str40 = String[40];
  168.  
  169.    █▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
  170.    █ Funciones y Procedimientos █░░
  171.    █▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█░░
  172.      ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  173.  
  174.  
  175.    Function PulsarTecla : Boolean
  176.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  177.     Remplaza a KeyPressed de la librería CRT, detecta cuando es pulsada
  178.     una tecla y retorna true si es pulsada.
  179.  
  180.    Function LeerTecla : Char
  181.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  182.     Similar a Readkey de la librería CRT.
  183.  
  184.    Function EstadoBMay: Boolean
  185.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  186.     Devuelve true si la tecla bloqueo mayúsculas está activada y false
  187.     si no lo está.
  188.  
  189.    Function EstadoBNum: Boolean
  190.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  191.     Devuelve true si la tecla bloqueo numérico está activada y false si
  192.     no lo está.
  193.  
  194.    Function EstadoBDes: Boolean
  195.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  196.     Devuelve true si la tecla bloqueo desplazamiento está activada y false
  197.     si no lo está.
  198.  
  199.    Function EstadoInsertar: Boolean
  200.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  201.     Devuelve true si la tecla insertar está activada y false si no lo está.
  202.  
  203.    Function ActualColorBorde : RangoColor;
  204.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  205.     Devuelve un número comprendido entre 0 y 63, que corresponde al color
  206.     del borde la pantalla. Solo EGA/VGA.
  207.  
  208.    Procedure CambiarColorBorde(colorBorde : RangoColor)
  209.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  210.     Cambia el color del borde la pantalla, colores de 0 a 63.
  211.  
  212.    Procedure BorrarPanCo(atri : Byte; ch : Char)
  213.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  214.     Borra la pantalla con un color y carácter especificado.
  215.  
  216.    Procedure ActivarPaginaNB(Pagina : byte)
  217.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  218.     Activa página de video si las hay. La que por regla general se usa es
  219.     la 0.
  220.  
  221.    Function NumLineasPan : Byte
  222.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  223.     Devuelve el número de lineas actuales en pantalla.
  224.  
  225.    Procedure CursorXY(Columna, Linea : byte)
  226.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  227.     Igual que GotoXY.
  228.  
  229.    Procedure PantallaOn
  230.   ~~~~~~~~~~~~~~~~~~~~~~
  231.     Activa la pantalla, que previamente se apagó con PantallaOff.
  232.  
  233.    Procedure PantallaOff
  234.   ~~~~~~~~~~~~~~~~~~~~~~~
  235.     Apaga la pantalla, para volver a encenderla poner PantallaOn.
  236.     Aunque en pantalla no se vea nada se puede escribir en ella.
  237.  
  238.    Procedure NoBlink1(OnOff:boolean)
  239.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  240.     Activa/Desactiva el parpadeo. (blink) Se consiguen asi 15 colores fondo.
  241.  
  242.    Procedure LCursorPXY (Var Pagina, X, Y: Byte)
  243.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  244.     Igual que WhereX y WhereY, pero permite poner la página de video a usar.
  245.  
  246.    Procedure CursorPXY(Pagina, X, Y: Byte)
  247.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  248.     Igual que GotoXY, pero permite poner la página de video a usar.
  249.  
  250.    Function LeerTeclaN: Word
  251.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  252.     Similar a ReadKey, pero no devuelve caracteres sino números.
  253.  
  254.    Function LeerTeclaE: Word
  255.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  256.     Similar a ReadKey, pero no devuelve caracteres sino números. Soporta
  257.     teclas especiales.
  258.  
  259.    Function TeclaPulsada : Word
  260.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  261.     Devuelve el valor número de la tecla pulsada.
  262.  
  263.    Procedure CambiarEstadoInsertar(On: Boolean)
  264.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  265.     Cambia el estado de la tecla insertar.
  266.  
  267.    Function MododeVideo: Byte
  268.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  269.     Devuelve el número del modo de video.
  270.  
  271.    Function PulsarTeclaExt :boolean
  272.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  273.     Devuelve true si se está pulsando una tecla especial.
  274.  
  275.    Function MaxX : Byte
  276.   ~~~~~~~~~~~~~~~~~~~~~~
  277.     Igual que WhereX.
  278.  
  279.    Function MaxY : Byte
  280.   ~~~~~~~~~~~~~~~~~~~~~~
  281.     Igual que WhereY.
  282.  
  283.    Function DondeX : Byte
  284.   ~~~~~~~~~~~~~~~~~~~~~~~~
  285.     Igual que WhereX, pero diferente que MaxX.
  286.  
  287.    Function DondeY : Byte
  288.   ~~~~~~~~~~~~~~~~~~~~~~~~
  289.     Igual que WhereY, pero diferente que MaxY.
  290.  
  291.    Procedure NewGotoXY(x,y : Byte)
  292.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  293.     Igual que gotoXY, pero diferente que los anteriores.
  294.  
  295.    Function HayXY(x,y : Byte) : Char
  296.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  297.     Devuelve el carácter que se encuentra la posición de pantalla dada.
  298.  
  299.    Procedure vga50lineas
  300.   ~~~~~~~~~~~~~~~~~~~~~~~
  301.     Pone la pantalla en modo texto de 80x50, solo VGA.
  302.  
  303.    Procedure vga43lineas
  304.   ~~~~~~~~~~~~~~~~~~~~~~~
  305.     Pone la pantalla en modo texto de 80x43, solo EGA/VGA.
  306.  
  307.    Procedure vga25lineas
  308.   ~~~~~~~~~~~~~~~~~~~~~~~
  309.     Pone la pantalla en modo texto de 80x25, solo VGA.
  310.  
  311.    Procedure vga30lineas
  312.   ~~~~~~~~~~~~~~~~~~~~~~~
  313.     Pone la pantalla en modo texto de 80x30, solo VGA.
  314.  
  315.    Procedure VGAInversa
  316.   ~~~~~~~~~~~~~~~~~~~~~~
  317.     Invierte todos los caracteres, solo VGA.
  318.  
  319.    Procedure BorrarBufferTec
  320.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  321.     Borrar el contenido del Buffer del teclado.
  322.  
  323.    Procedure LineasPantalla( Lines : byte)
  324.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  325.     Cambia la linea en pantalla, Lines debe se igual aun modo de Video.
  326.  
  327.    Procedure Park1
  328.   ~~~~~~~~~~~~~~~~~
  329.     Aparca la cabezas del disco de un modo.
  330.  
  331.    Procedure Park2
  332.   ~~~~~~~~~~~~~~~~~
  333.     Aparca la cabezas del disco de un modo distinto al anterior.
  334.  
  335.    Procedure Park3
  336.   ~~~~~~~~~~~~~~~~~
  337.     Aparca la cabezas del disco de un modo igual a Park2, pero
  338.     devuelve ya texto de finalización de proceso en Castellano.
  339.  
  340.    Procedure Reset_PC0
  341.   ~~~~~~~~~~~~~~~~~~~~~
  342.     Modo más simple de inicialización del Pc, usando la INT 19.
  343.  
  344.    Procedure Reset_PC1
  345.   ~~~~~~~~~~~~~~~~~~~~~
  346.     Otro modo de inicialización.
  347.  
  348.    Procedure ResetFrio0
  349.   ~~~~~~~~~~~~~~~~~~~~~~
  350.     Otro modo de inicialización.
  351.  
  352.    Procedure ResetFrio1
  353.   ~~~~~~~~~~~~~~~~~~~~~~
  354.     Otro modo de inicialización.
  355.  
  356.    Procedure Reset_PC2
  357.   ~~~~~~~~~~~~~~~~~~~~~
  358.     Otro modo de inicialización.
  359.  
  360.    Procedure Reset_PC3
  361.   ~~~~~~~~~~~~~~~~~~~~~
  362.     Otro modo de inicialización.
  363.  
  364.    Procedure CalibrarRetardo
  365.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  366.     Activado al iniciar la librería, calibrar la función retardo.
  367.  
  368.    Procedure Retardo(Ms : Word)
  369.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  370.     Igual que Delay.
  371.  
  372.    Procedure Sonido(Freq : Word)
  373.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  374.     Igual que Sound.
  375.  
  376.    Procedure NoSonido
  377.   ~~~~~~~~~~~~~~~~~~~~
  378.     Igual que NoSound.
  379.  
  380.    Procedure Nota(Freq, Dura : Word)
  381.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  382.     Devuelve un sonido on una frecuencia y una duración.
  383.  
  384.    Function Num2Let(num:Real):Str255
  385.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  386.     Devuelve un número en letras (en castellano).
  387.  
  388.    Procedure OscureceryRestaurarPK(Velocidad:ShortInt)
  389.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  390.     Oscurece y restura una pantalla a una velocidad especificada hasta que
  391.     se pulse una tecla.
  392.  
  393.    Procedure Oscurecer1(Velocidad:ShortInt)
  394.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  395.     Oscurece la pantalla con una velocidad definida, para restaurar poner
  396.     Restaurar1. Aunque este apagada después de oscurecerla progresivamente
  397.     se puede seguir escribiendo en pantalla.
  398.  
  399.    Procedure Restaurar1(Velocidad:ShortInt)
  400.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  401.     Restaura pantalla previamente oscurecida con Oscurecer1.
  402.  
  403.    Procedure ShellDosMenos
  404.   ~~~~~~~~~~~~~~~~~~~~~~~~~
  405.     Realiza una visita al dos, se vuelve con Exit.
  406.     Lleva mensajes en castellano.
  407.  
  408.    Procedure DibujarBarrasT( X, Y : Integer; NumeroOpe, Total : LongInt;
  409.                           Width : Integer; Carac : Char)
  410.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  411.     Dibuja barras de porcentaje, (ver ejemplo).
  412.      x, y         : Coordenadas en pantalla
  413.      NumeroOpe    : Número de veces para completar operación
  414.      Total        : Total % a completar
  415.      Width        : Longitud máxima de la barra
  416.      Carac        : Caracter a usar en barras.
  417.  
  418.    Function CopiarFichero( FicheroFuente, FicheroDestino : string) : ShortInt
  419.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  420.     Copia un fichero de un lugar a otro.
  421.     Códigos que retorna: 0 No hay errores
  422.                          1 Fuente y Destino son los mismos
  423.                          2 No puedo abrir Fuente
  424.                          3 No puedo crear Destino
  425.                          4 error Durante la copia
  426.  
  427.    Function TamFichero(Fichero : String) : Longint
  428.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  429.     Devuelve -1 si el fichero no es encontrado.
  430.  
  431.    Function ExisteFichero(Fichero:string):boolean
  432.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  433.     Devuelve True si el fichero existe.
  434.  
  435.    Function ExisteDirectorio( Dir: string ) : boolean
  436.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  437.     Devuelve True si el directorio existe.
  438.  
  439.    Function FicheroUnidad(Todo:string): string
  440.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  441.     Devuelve la unidad de una ruta.
  442.     Ej. Si C:\DOS\FORMAT.COM --> Devuelve C
  443.  
  444.    Function FicheroDirectorio(Todo:string): string
  445.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  446.     Devuelve el directorio de una ruta.
  447.     Ej. Si C:\DOS\FORMAT.COM --> Devuelve \DOS
  448.  
  449.    Function FicheroNombre(Todo:string): string
  450.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  451.     Devuelve el nombre de un fichero.
  452.     Ej. Si C:\DOS\FORMAT.COM --> Devuelve FORMAT
  453.  
  454.    Function FicheroExt(Todo:string): string
  455.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  456.     Devuelve la extensión de un fichero.
  457.     Ej. Si C:\DOS\FORMAT.COM --> Devuelve COM
  458.  
  459.    Function CompletarDirectorio(Dir:string):string
  460.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  461.     Completa directorio.
  462.     Ej. Si \DOS --> Devuelve \DOS\
  463.  
  464.    Function NomFicValido(FN:string): shortint
  465.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  466.    Comprueba un fichero con su ruta y devuelve los códigos:
  467.           -2     Ruta válida, pero fichero no especificado
  468.           -1     Ruta y nombre correctos pero el fichero no existe
  469.            0     Ruta y nombre correctos y fichero si existe
  470.            1     Unidad especificada incorrecta
  471.            2     Caracteres ilegales en la ruta
  472.            3     Ruta Inválida
  473.            4     Fichero no especificado
  474.            5     Caracteres ilegales en el nombre
  475.            6     Nombre es mayor de 8 caracteres
  476.            7     Extensión es mayor de 3 caracteres
  477.  
  478.    Function BorrarFichero(Filename:string): shortint
  479.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  480.     Borra el fichero especificado y devuelve códigos:
  481.           -1    Fichero no encontrado
  482.            0    Fichero borrado
  483.            1    Error: Fichero no borrado
  484.  
  485.    Function RenombrarFichero(Oldname,NewName:string):shortint
  486.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  487.     Renombra el fichero especificado y devuelve códigos:
  488.            0    Fichero renombrado
  489.            1    Fichero no encontrado
  490.            2    Error renombrando
  491.  
  492.    Procedure SalvaPantallas1
  493.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  494.     Efecto de pantalla, util para crear un salva pantallas.
  495.  
  496.    Procedure PantallaDiv4
  497.   ~~~~~~~~~~~~~~~~~~~~~~~~
  498.     Efecto especial de pantalla, que la divide en 4 parte y dirige 2 arriba
  499.     y 2 abajo, dejando la pantalla borrada.
  500.  
  501.    Function RepCar(letra:Char; veces:Integer): String
  502.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  503.     Duplica un caracter especificado un número de veces especificado.
  504.  
  505.    Function Espacios(num:Integer): String
  506.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  507.     Duplica espacios en blanco un número de veces especificado.
  508.  
  509.    Function InverCar(Frase:String):String
  510.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  511.     Invierte los caracteres de una cadena.
  512.  
  513.    Function MayMin(M : Boolean; Cadena : String): String
  514.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  515.     Devuelve una cadena en Mayúsculas o Minúsculas
  516.          TRUE  : Mayúsculas
  517.          FALSE : Minúsculas
  518.     Soporta caracteres 'áéíóúäëïöüâêîôûÉÄÖÜñÑ'.
  519.  
  520.    Function NumEnCad(S: String): Boolean
  521.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  522.     Comprueba que en una cadena String exiten solo Números,
  523.          TRUE  : Solo hay números
  524.          FALSE : No Solo hay números
  525.  
  526.    Procedure InterCadena(Var A, B: String)
  527.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  528.     Intercambia dos cadenas.
  529.  
  530.    Function Left(X: String;  Y: Integer): String
  531.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  532.     Función similar a la del BASIC Left$,
  533.     Devuelve una subserie de una serie especificada y de longitud
  534.     indicada en la función, a partir del extremo izquierdo.
  535.  
  536.    Function Right(X: String;  Y: Integer): String
  537.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  538.     Función similar a la del BASIC Right$,
  539.     Devuelve una subserie de una serie especificada y de longitud
  540.     indicada en la función, a partir del extremo derecho.
  541.  
  542.    Function Int2Cad(Numero : longint; Tam : byte) : String
  543.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  544.     Convierte un número entero en una cadena, en Tam se indica la longitud
  545.     del entero en cadena.
  546.  
  547.    Function Real2Cad(Numero : real;Tam, Decimales : byte) : String
  548.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  549.     Convierte un número real en una cadena, en Tam se indica la longitud del
  550.     real en cadena y en Decimales la longitud de los decimales.
  551.  
  552.    Function HexCad (n: Word; count: Byte): String
  553.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  554.     Covierte un número a una cadena hexadecimal, Count es la longitud.
  555.  
  556.    Function OctCad (n: Word; count: Byte): String
  557.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  558.     Covierte un número a una cadena Octal, Count es la longitud.
  559.  
  560.    Function BinCad (n: Word; count: Byte): String
  561.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  562.     Covierte un número a una cadena Binario, Count es la longitud.
  563.  
  564.    Function HexCad1 (w : Word): String
  565.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  566.     Covierte un número a una cadena hexadecimal.
  567.  
  568.    Function FormatoPic(Entra,Pic:string;P:char): string
  569.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  570.     En Entra que pone una cadena, en Pic se ponen tantos asteriscos (*)
  571.     como caracteres queramos que coja de Entra, y P completa con el
  572.     caracter que se de si se ponen asterisco de más.
  573.     Ej. FormatoPic('DcLib','*******','#'); --> Devuelve DcLib##
  574.  
  575.    Function CadJ(CadJust:CadJust;Cad:string;Tamano:byte;chP:char):string
  576.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  577.     En CadJust se pone JDerecha, JCentrado o JIzquierda, en Cad una cadena,
  578.     en Tamano el tamaño a coger de la cadena y chP un caracter para completar
  579.     en caso de que el tamaño de Cad sea menor que el de Tamano. En CadJust
  580.     se justifica la salida si Tamano>Cad.
  581.  
  582.    Function FormatoCortar(Entra:string;Comienzo,Longitud:byte;P:char):string
  583.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  584.     Corta la cadena Entra y si te pasas de tamaño de la cadena se completa
  585.     con el P.
  586.  
  587.    Function EsMay(K:word): boolean
  588.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  589.     Devuelve True si el caracter es mayúsculas.
  590.     Ej. EsMay(ord('A')); --> Devuelve TRUE
  591.  
  592.    Function EsMin(K:word): boolean
  593.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  594.     Devuelve True si el caracter es minúsculas.
  595.     Ej. EsMin(ord('a')); --> Devuelve TRUE
  596.  
  597.    Function PrimeraMayPos(Cad : string): byte
  598.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  599.     Devuelve la posición de la primera mayúscula en la cadena.
  600.  
  601.    Function PrimeraMay(Cad : string): char
  602.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  603.     Devuelve primer carácter en mayúsculas de la cadena.
  604.  
  605.    Function UltimosCar(N:byte;Cad:string):string
  606.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  607.     Devuelve los N ultimos caracteres de Cad.
  608.  
  609.    Function PrimerosCar(N:byte;Cad:string):string
  610.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  611.     Devuelve los N primeros caracteres de Cad.
  612.  
  613.    Function PrimerCarMay(Cad:string):string
  614.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  615.     Pone la primera mayúscula de la cadena al principio de la mismo si
  616.     no lo está.
  617.  
  618.    Function HexenCad(Str:string):boolean
  619.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  620.     Devuelve true si la cadena está en hexadecimal.
  621.  
  622.    Function LongInst2Cad(Numero:longint):string
  623.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  624.     Convierte un Entero (Longint) en una cadena.
  625.  
  626.    Function Longint2HexCad(Numero:longint):string
  627.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  628.     Convierte un Entero (Longint) en una cadena hexadecimal.
  629.  
  630.    Function RealEnCad(Cad:string):boolean
  631.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  632.     Devuelve True si el número contenido en Cad es real.
  633.  
  634.    Function Cad2Real(Cad:string):real
  635.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  636.     Convierte cadena a real.
  637.  
  638.    Function Cad2Int(Str:string):integer
  639.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  640.     Convierte cadena a entero (Integer).
  641.  
  642.    Function Cad2Longint(Str:string):Longint
  643.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  644.     Convierte cadena a entero (Longint).
  645.  
  646.    Function HEXCad2Longint(Str:string):longint
  647.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  648.     Convierte Cadena hexadecimal a entero (Longint).
  649.  
  650.  
  651. Las funciones que funcionan igual que otras de las librerías de Borland, son
  652. totalmente diferentes a las de las librerías de Borland y no dependen de
  653. ellas.
  654.  
  655.  ┌────────────────┐
  656.  │  4.- Registro  ├─┐
  657.  └─┬──────────────┘ │
  658.    └────────────────┘
  659.  
  660.    Enviar a:
  661.  
  662.     David Carrero Fernández-Baillo
  663.     C/Caldereros, Nº 5
  664.     13640 HERENCIA
  665.     (CIUDAD REAL)
  666.     Teléfono (926) 57 18 05  - Fascímil (926) 57 18 05
  667.  
  668.      FECHA:
  669.      TEMA: Registro de librería DcLib, Versión 5.00
  670.  
  671.     SU DIRECCIóN
  672.     ============
  673.         Nombre:_____________________________________________________________
  674.      Dirección:_____________________________________________________________
  675.               :_____________________________________________________________
  676.               :_____________________________________________________________
  677.       Teléfono:_______________________
  678.       Fascímil:_______________________
  679.  
  680.     INFORMACIóN PERSONAL
  681.     ====================
  682.         Ha conseguido el programa de: ( ) Amigo  ( ) Computer Club
  683.                                    BBS: __________________________
  684.                                    Teléfonos: ____________________
  685.                                             : ____________________
  686.                                    Otros: ________________________
  687.  
  688.         Deseas recibir de la nuevas Versiones:   ( ) Información
  689.                                       ( ) Disco contra reembolso
  690.  
  691.         Por Favor, indique aquí las observaciones y mejoras acerca del
  692.         programa: ____________________________________________________
  693.         ______________________________________________________________
  694.  
  695.         Deseas se informado sobre otros programas del autor: _________
  696.  
  697.     HOJA DE PEDIDO
  698.     ==============
  699.         Pago mediante: ( ) CHEQUE
  700.                        ( ) CONTRA REEMBOLSO + 350 pts. de Gastos Envio
  701.                        ( ) GIRO POSTAL (adjuntar en sobre fotocopia resg.)
  702.  
  703.         ___ Librería(s) DcLib.TPU registrada(s)..  2.500 pts.  _________
  704.         ___ Librería(s) DcLib.TPU registrada(s) 
  705.             antes del 15 de Julio de 1994........  1.500 pts.  _________              
  706.  
  707.     Nota: Solo se da derecho a utilizar esta librería en programas de la
  708.           persona que tiene registrado el programa.
  709.           En caso de se varias personas independientes, deberán registrar
  710.           cada uno su copia.
  711.  
  712.         ___ Disco de 3½"........................     150 pts.  _________
  713.         ___ Disco de 5¼"........................     200 pts.  _________
  714.           1 Envio (Solo Contra Reembolso).......     350 pts.  _________
  715.           1 Envio fuera de España...............     500 pts.  _________
  716.  
  717.                                                  =======================
  718.                                                  TOTAL   Pts.  _________
  719.                                                  =======================
  720.  
  721. Nota: Se entiende fuera de España, fuera de la Península.
  722.       El precio Incluye 2 Actualizaciones gratuitas, que recibiras
  723.       en tu domicilio en cuanto esten diponibles en disquete de 3½ ó 5¼.
  724.       A partir de la 3 Actualización el precio el normal con un 70%
  725.       de descuento.
  726.       Actualmente solo se puede servir el programa en 3½, pero apartir
  727.       de 10 de Abril también en 5¼
  728.       A se usuario consigues servicio técnico para resolver cualquier
  729.       problema que tengas con la librería por correo o por teléfono,
  730.       ver Datos del Autor, Horario Servico Técnico a usuarios registrados.
  731.  
  732.  
  733.  ┌───────────────────────────────────────────────────────┐
  734.  │  5.- Requerimientos mínimos y uso de estas librerías  ├─┐
  735.  └─┬─────────────────────────────────────────────────────┘ │
  736.    └───────────────────────────────────────────────────────┘
  737.  
  738.    El uso de estas librerías es muy simple, y todo programador con un
  739.    poco de experiencia sabra usarla con la documentación entregada,
  740.    de todas formas si se tuviese alguna duda sobre el funcionamiento
  741.    del algún procedimiento o función, puede escribir al autor
  742.    indicando la duda y la librería que tiene registrada, o bien por
  743.    teléfono preguntar por David Carrero, en caso de no localizarme 
  744.    dejar vuestro nombre y duda y contestaré lo antes posible.
  745.    Para consultar dudas también podeis enviar por fax una carta con
  746.    la dudas que tengas, FAX (926) 57 18 05.
  747.  
  748.    Esta librería requiere unicamente poseer Turbo Pascal 7.0, y trabajar
  749.    en modo real. (En Breve versión para el Modo Protegido )
  750.  
  751.  
  752.  ┌───────────────────────┐
  753.  │  6.- Datos del Autor  ├─┐
  754.  └─┬─────────────────────┘ │
  755.    └───────────────────────┘
  756.  
  757.     Nombre    : David Carrero Fernández-Baillo
  758.     Domicilio : C/Caldereros, Nº 5
  759.     Población : HERENCIA
  760.     C.P.      : 13640
  761.     Provincia : CIUDAD REAL
  762.     País      : ESPAÑA
  763.  
  764.     Teléfono  : (926) 57 18 05  (para el extranjero 34 26 57 18 05)
  765.     Fax       : (926) 57 18 05  (para el extranjero 34 26 57 18 05)
  766.  
  767.     Horario del Servicio Técnico al Usuario Registrado:
  768.             Por Correo, o por Teléfono, tardes, en caso de no 
  769.             localizarme por teléfono deja el mensaje y tu nombre, 
  770.             y contestaré tu problema lo antes posible.
  771.             De todas formas el mejor modo de resolver dudas es por
  772.         fax y por correo, ya que por teléfono es más dificil
  773.             contactar conmigo.
  774.  
  775.  
  776.  ┌─────────────────────────────────────────────┐
  777.  │  7.- Otros programas o librerías del autor  ├─┐
  778.  └─┬───────────────────────────────────────────┘ │
  779.    └─────────────────────────────────────────────┘
  780.  
  781.    Programas Shareware que requieren registro:
  782.      Si no sabes donde adquirir una Demo envia disco de 3½ y 100 pts. en
  783.      sellos y recibirás los que marques siempre que disco tenga capacidad.
  784.  
  785.      Letra NIF Versión 1.10 y Letra NIF Residente Versión 2.50
  786.         (Calcular la letra del NIF)
  787.      Librería DcLib Versión 5.00 para Turbo Pascal 7.0
  788.         (Funciones y Procedimientos de uso general para TP7)
  789.      Librería InfoPc Versión 3.00 para Turbo Pascal 7.0
  790.         (Funciones y Procedimiento de configuracion de sistema y más)
  791.      ClavePc Versión 3.20 y ClavePc Bloqueo Versión 1.00
  792.         (Seguridad en tú ordenador)
  793.      New Type Versión 1.10
  794.         (Igual que Type de Dos pero mucho mejor, prueba la demo)
  795.  
  796.      (Existen otras 18 librerías para Turbo Pascal 7.0, que espero
  797.       que esten lista cuanto antes para incluir en vuestros programas,
  798.       entre estas estan librería de uso de ratón, control de pantalla,
  799.       ventanas, menús, salvar y recuperar pantallas, mover texto, música
  800.       al estilo del basic, y mucho más, algunas de la librería en dos
  801.       versiónes la normal y la orientada al objeto.)
  802.  
  803.  
  804.    Programa Dominio Público y Shareware que no requieren registro:
  805.      Si no sabes donde conseguirlos envia disco de 3½ ó 5¼ y 100 pts en
  806.      sellos, y recibiras los que marques, siempre que el disco tenga
  807.      capacidad.
  808.  
  809.      DcEdit Versión 1.00 (Dominio Público)
  810.         (Editor de textos para dos (aún no imprime pero es mejor que el
  811.          del DOS)
  812.      ParkDD Versión 1.01 (Shareware)
  813.         (Aparca cabezas del disco duro)
  814.      Sonidos Versión 1.20 (Dominio Público)
  815.         (Sonidos para usar con ficheros Batch)
  816.      Video Lineas Versión 1.01 (Dominio Público)
  817.         (Cambia la lineas de pantalla, solo VGA)
  818.      Cursor Versión 1.02 (Dominio Público)
  819.         (Cambia el tipo de cursor)
  820.      DcBorde Versión 1.30 (Shareware)
  821.         (Cambia el color del borde de pantalla, Solor EGA/VGA)
  822.      Espacio Versión 2.40 (Shareware)
  823.         (Devuelve información del ordenador, sistema, memoria, etc.,
  824.          está en desarrollo una nueva versión mucho más potente)
  825.      Reset Versión 2.20 (Shareware)
  826.         (Reseteos de ordenador por software, varios tipos)
  827.      Fichero en EXE Versión 0.01 (Shareware)
  828.         (Utilidad que convierte un fichero binario o texto en un código
  829.          fuente para pascal, si programas en Turbo Pascal consiguelo,
  830.          es de libre uso)
  831.      Auto Agenda Versión 0.15 (Shareware)
  832.         (Programa para leer un fichero con comandos y ejecutarlos, ideal
  833.          para llamar desde el autoexec.bat, permite definir fechas de
  834.          ejecución y mucho más.)
  835.      BatPlus Línea Versión 1.00 alfa (en desarrollo)
  836.         (Nuevos comandos para usar en ficheros BAT, cualquier nueva
  837.          función que consideres interesante incluir en este programa,
  838.          escribeme y dime cual es y haré lo posible por incluirla)
  839.      NumSer Versión 1.05 (Dominio Público)
  840.         (Programa para cambiar el número de serie de los disco formateados
  841.          con el DOS 4 ó superior)
  842.      VerGif y VerPcx
  843.         (Visualizar imagenes .GIF y .PCX)
  844.  
  845.  
  846.